<?php
/**
 * @version 1.0
 * @author Jonathan Poelen <jo.link.noir@gmail.com>
 * @date 14-09-2010
 */
interface SW_Removable_Interface
{
	/**
	 * @param SW_Move $move
	 * @param SW_Units $army
	 */
	public function depose(SW_Move $move, SW_Units $army);

	/**
	 * @param int|string $type
	 * @param mixed $value
	 */
	public function add($type, $value);

	/**
	 * @return array : [type:string => mixed, …]
	 */
	public function gets();

	/**
	 * @param stdClass|string $type
	 * @return mixed
	 */
	public function get($type);

	/**
	 * @return bool
	 */
	public function isEmpty();

	/**
	 * @return bool
	 */
	public function exists($type);
}